#if !defined(DAEMON_SUB_PROCESS_H)
#define DAEMON_SUB_PROCESS_H

#include <sys/types.h>

#define EXE_PATH "/home/jiang/桌面/gateway/test/gateway_test"  // 测试路径
// #define EXT_PATH "/usr/bin/gateway"  // 正式路径

#define MAX_FAIL_COUNT 10          // 子进程最大失败次数


// 子进程结构体
typedef struct {
    pid_t pid;                      // 子进程pid
    char *cmd_param;               // 子进程启动的参数
    int fail_count;               // 子进程失败次数
} SubProcess;

/**
 * @brief 初始化子进程
 */
SubProcess *daemon_sub_process_init(char *cmd_param);

/**
 * @brief 检查并启动子进程
 */
int daemon_sub_process_checkStart(SubProcess *sp);

/**
 * @brief 关闭子进程
 */
void daemon_sub_process_colse(SubProcess *sp);

#endif // DAEMON_SUB_PROCESS_H
